﻿using System;

namespace MultiViewer.Network
{
    public interface ITransactionState
    {
        object Request { get; }
    }

    public class TransactionState<TRequest> : ITransactionState where TRequest : Message
    {
        private TRequest request;

        public TransactionState(TRequest request)
        {
            this.request = request;
        }

        public TRequest Request
        {
            get { return request; }
        }

        object ITransactionState.Request
        {
            get { return request; }
        }
    }
}